// 引入必要的库文件
#include "AudioTools.h"        // 包含音频处理相关的工具函数
#include "BluetoothA2DPSink.h" // 包含蓝牙A2DP（高级音频分发配置文件）接收器相关的类和方法

I2SStream i2s;                    // 定义I2S流对象，用于处理数字音频数据的输入输出
BluetoothA2DPSink a2dp_sink(i2s); // 创建一个蓝牙A2DP接收器对象，该对象使用上述定义的I2S流来传输音频数据

void setup()
{

    auto cfg = i2s.defaultConfig(); // 获取I2S流的默认配置
    cfg.pin_bck = I2S_BCLK;         // 设置I2S的时钟线（BCLK）引脚
    cfg.pin_ws = I2S_LRC;           // 设置I2S的帧同步线（LRC）引脚
    cfg.pin_data = I2S_DOUT;        // 设置I2S的数据线（DOUT）引脚
    i2s.begin(cfg);                 // 根据配置初始化I2S流

    a2dp_sink.set_auto_reconnect(true); // 设置蓝牙A2DP接收器自动重新连接
    a2dp_sink.start("MyMusic");         // 启动蓝牙A2DP服务，并设置设备名称为"MyMusic"
    a2dp_sink.set_volume(20);           // 设置音量大小
}

void loop()
{
}